/**
 * 
 */
package xiaojian.toolkit.bean.bytebean.annotation;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

import xiaojian.toolkit.util.ByteOrder;


/**
 * @author isdom
 *
 */
@Retention(RetentionPolicy.RUNTIME) 
public @interface ByteField {
    /**
     * 消息体中的索引位置
     * @return
     */
    public abstract int index();

    /**
     * 在消息体中的字节长度，为-1时，取字段类型的长度
     * @return
     */
    public abstract int bytes() default -1;
    
    public abstract String length() default "";
    
    public abstract String customType() default "";
    
    public abstract String charset() default "UTF-16";
    
    public abstract ByteOrder byteOrder() default ByteOrder.None;
    
    public abstract int fixedLength() default -1;
    
    public abstract String description() default "";
}
